"""
有趣的面试题
"""
# import time

# 说出下面的程序运行状况
# while True:
#     print('hello', end='')
#     time.sleep(0.0001)


# # N!末尾有多少个零
# num = int(input())
# counter = 0
# for i in range(5, num + 1, 5):
#     temp = i
#     while temp % 5 == 0:
#         counter += 1
#         temp //= 5
# print(counter)


# Python中的继承允许多重继承（一个类可以有多个父类）
# 当给对象发消息（调用对象方法）时，需要考虑MRO（方法解析顺序）
# Python2中类分为旧式类和新式类，Python3中所有的类都是新式类
# 旧式类的MRO使用深度优先搜索算法进行方法解析
# 新式类的MRO使用类似于广度优先搜索算法进行方法解析 - C3算法
# class A:

#     def who(self):
#         print('A', end='')


# class B(A):

#     def who(self):
#         super().who()
#         print('B', end='')


# class C(A):

#     def who(self):
#         super().who()
#         print('C', end='')


# class D(B, C):

#     def who(self):
#         super().who()
#         print('D', end='')


# item = D()
# # print(D.mro())
# # print(D.__mro__)
# item.who()
# print()


class A:

    def __init__(self):
        print('A')
        super(A, self).__init__()


class B:

    def __init__(self):
        print('B')
        super(B, self).__init__()


class C(A, B):

    def __init__(self):
        print('C')
        A.__init__(self)
        B.__init__(self)


c = C()
# print(C.mro())
